package com.ruoyi.asset.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 资产数据对象 asset_data
 * 
 * @author ruoyi
 * @date 2025-03-12
 */
public class AssetData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 资产ID（外键） */
    @Excel(name = "资产ID", readConverterExp = "外=键")
    private Long assetId;

    /** 资产原值 */
    @Excel(name = "资产原值")
    private BigDecimal originalValue;

    /** 税额 */
    @Excel(name = "税额")
    private BigDecimal taxAmount;

    /** 残值率（%） */
    @Excel(name = "残值率", readConverterExp = "%=")
    private BigDecimal residualRate;

    /** 预计残值 */
    @Excel(name = "预计残值")
    private BigDecimal estimatedResidual;

    /** 减值准备 */
    @Excel(name = "减值准备")
    private BigDecimal impairment;

    /** 预计使用年限 */
    @Excel(name = "预计使用年限")
    private Long estimatedLife;

    /** 已折旧期间 */
    @Excel(name = "已折旧期间")
    private Long depreciatedPeriods;

    /** 剩余使用期间 */
    @Excel(name = "剩余使用期间")
    private Long remainingPeriods;

    /** 累计折旧 */
    @Excel(name = "累计折旧")
    private BigDecimal accumDepreciation;

    /** 每月折旧额 */
    @Excel(name = "每月折旧额")
    private BigDecimal monthlyDepreciation;

    /** 期初净值 */
    @Excel(name = "期初净值")
    private BigDecimal initialNetValue;

    /** 期末净值 */
    @Excel(name = "期末净值")
    private BigDecimal endingNetValue;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAssetId(Long assetId) 
    {
        this.assetId = assetId;
    }

    public Long getAssetId() 
    {
        return assetId;
    }

    public void setOriginalValue(BigDecimal originalValue) 
    {
        this.originalValue = originalValue;
    }

    public BigDecimal getOriginalValue() 
    {
        return originalValue;
    }

    public void setTaxAmount(BigDecimal taxAmount) 
    {
        this.taxAmount = taxAmount;
    }

    public BigDecimal getTaxAmount() 
    {
        return taxAmount;
    }

    public void setResidualRate(BigDecimal residualRate) 
    {
        this.residualRate = residualRate;
    }

    public BigDecimal getResidualRate() 
    {
        return residualRate;
    }

    public void setEstimatedResidual(BigDecimal estimatedResidual) 
    {
        this.estimatedResidual = estimatedResidual;
    }

    public BigDecimal getEstimatedResidual() 
    {
        return estimatedResidual;
    }

    public void setImpairment(BigDecimal impairment) 
    {
        this.impairment = impairment;
    }

    public BigDecimal getImpairment() 
    {
        return impairment;
    }

    public void setEstimatedLife(Long estimatedLife) 
    {
        this.estimatedLife = estimatedLife;
    }

    public Long getEstimatedLife() 
    {
        return estimatedLife;
    }

    public void setDepreciatedPeriods(Long depreciatedPeriods) 
    {
        this.depreciatedPeriods = depreciatedPeriods;
    }

    public Long getDepreciatedPeriods() 
    {
        return depreciatedPeriods;
    }

    public void setRemainingPeriods(Long remainingPeriods) 
    {
        this.remainingPeriods = remainingPeriods;
    }

    public Long getRemainingPeriods() 
    {
        return remainingPeriods;
    }

    public void setAccumDepreciation(BigDecimal accumDepreciation) 
    {
        this.accumDepreciation = accumDepreciation;
    }

    public BigDecimal getAccumDepreciation() 
    {
        return accumDepreciation;
    }

    public void setMonthlyDepreciation(BigDecimal monthlyDepreciation) 
    {
        this.monthlyDepreciation = monthlyDepreciation;
    }

    public BigDecimal getMonthlyDepreciation() 
    {
        return monthlyDepreciation;
    }

    public void setInitialNetValue(BigDecimal initialNetValue) 
    {
        this.initialNetValue = initialNetValue;
    }

    public BigDecimal getInitialNetValue() 
    {
        return initialNetValue;
    }

    public void setEndingNetValue(BigDecimal endingNetValue) 
    {
        this.endingNetValue = endingNetValue;
    }

    public BigDecimal getEndingNetValue() 
    {
        return endingNetValue;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("assetId", getAssetId())
            .append("originalValue", getOriginalValue())
            .append("taxAmount", getTaxAmount())
            .append("residualRate", getResidualRate())
            .append("estimatedResidual", getEstimatedResidual())
            .append("impairment", getImpairment())
            .append("estimatedLife", getEstimatedLife())
            .append("depreciatedPeriods", getDepreciatedPeriods())
            .append("remainingPeriods", getRemainingPeriods())
            .append("accumDepreciation", getAccumDepreciation())
            .append("monthlyDepreciation", getMonthlyDepreciation())
            .append("initialNetValue", getInitialNetValue())
            .append("endingNetValue", getEndingNetValue())
            .toString();
    }
}
